std::literals::chrono_literals:: operator""y
|
ヘッダーで定義
<chrono>
|
||
|
constexpr
std::
chrono
::
year
operator
""
y
(
unsigned
long
long
y
)
noexcept
;
|
(C++20以降) | |
先発グレゴリオ暦 における年を表す std::chrono::year リテラルを形成します。
目次 |
パラメータ
| y | - | 年値 |
戻り値
std::chrono::year
で初期化された
int
(
y
)
。もし
y
が範囲
[
-
32767
,
32767
]
内にない場合、格納される値は未規定です。
実装例
constexpr std::chrono::year operator""y(unsigned long long y) noexcept { return std::chrono::year(static_cast<int>(y)); } |
注記
この演算子は名前空間 std :: literals :: chrono_literals で宣言されており、 literals と chrono_literals はどちらも インライン名前空間 です。この演算子には以下の方法でアクセスできます:
- using namespace std :: literals 、
- using namespace std :: chrono_literals 、または
- using namespace std :: literals :: chrono_literals 。
さらに、名前空間 std :: chrono 内では、 using namespace literals :: chrono_literals ; というディレクティブが standard library によって提供されています。そのため、プログラマが using namespace std :: chrono ; を使用して chrono library のクラスにアクセスする場合、対応するリテラル演算子も同時に可視化されます。
例
#include <chrono> #include <iostream> int main() { using namespace std::literals; std::cout << int(2020y) << '\t' << 2020y << '\n' << int(-220y) << '\t' << -220y << '\n' << int(3000y) << '\t' << 3000y << '\n' << int(32768y) << '\t' << 32768y << '\n' // unspecified << int(65578y) << '\t' << 65578y << '\n'; // unspecified }
出力例:
2020 2020 -220 -0220 3000 3000 -32768 -32768 is not a valid year 42 0042
関連項目
yearオブジェクトを構築する
year
(
std::chrono::year
のpublicメンバ関数)
|